Analysis of India’s BC Data
Introduction
Motivation: Indoor Air Exposure
- Black Carbon, PM2.5 and CO are major pollutant from indoor emissions
- Prime Source of indoor emission is Cooking - using Solid Biomass Fuel (SBF)
- SBF use is common in LMICs like India, particularly the rural households (80% population)
- Cooking Emission can be as high as 20 times of the background concentration
- Factors that effect the exposure to indoor pollutants
- Fuel usage in cooking
- Type of cooking setup (oven type and kitchen type)
- Household ventilation
- Food choices and cooking time
- Primary emission reduction can be achieved by adopting clean fuels such as LPG
- However, affordability and fuel-stacking remains a big challenge
- Community and Household level actionable measures can be a solution to reduce exposure
- Very limited BC monitoring data from rural communities
Black Carbon - Measurement Challanges
- BC is component of combustion derived particulate matter (PM)
- BC is a strong absorber of solar radiation, with 20 year GWP of 4470
- BC has also been identified as a toxic pollutant - can impact human organ growth
- Monitoring BC is a big challenge
- No particular chemical definition
- BC/EC/Soot measurement techniques
- Aethalometer: Real-time Light absorption
measurement at 880nm
- Real-time analysis
- Correction schemes have been thoroughly studied and developed
- Multi-wavelength light absorption data facilitates Source Apportionment of BC.
- Artifacts: Scattering by particles, Loading effects on filter
- EC-OC Analyzer: Thermal-optical technique
- Semi real-time analysis on sampled aerosol filter
- OC quantification
- Photo-Acoustic Measurement: Optical
characterization
- Suspended aerosol particle
- Free from loading effect
- Measures aerosol light scattering
- Single Particle Soot Photometer (SP2): Laser
Induced Incandescence
- High accuracy, sensitivity (in Femtograms) and rich dataset
- Size range: 200-1500 nm
- particle sizing capability
- Aethalometer: Real-time Light absorption
measurement at 880nm
- However,
- SP2, PAAS, EC-OC can be very expensive - not adoptable in certain situations
- May not be suitable for field deployment with limited logistics (e.g. rural setup)
- Aethalometers are widely used for regulatory grade BC measurement, ease of use.
- Latest micro-Aethalometer can be a solution in field deployment
Source Apportionment from Aethalometer Data
- Aethalometer Measurement Process:
- light attenuation -> absorption coefficient \(b_{abs}\) -> apply correction -> BC mass concentration
- Source of uncertainty:
- Loading correction scheme utilized
- Fixed scattering correction
- Use of fixed Mass Absorption Cross Section (MAC)
- Source Apportionment Process:
- Majorly based on Absorption Angstrom Exponent (AAE): a quantity to measure the spectral dependence of light absorption by aerosols. \[ b_{abs} = k \times \lambda^{-\alpha} \]
- From a multi-wavelength aethelomater \(\alpha\) can be derived from log-linear regression fit between \(b_{abs}\) and \(\lambda\) (wavelength)
Sample AAE Estimation
- Sandradewi 2008 -> Aethalometer Model
- Two component based apportionment : Fossil Fuel (FF) and Biomass
Burning (BB) \[ b_{abs}(\lambda) =
b_{abs,FF}(\lambda) + b_{abs,BB}(\lambda) \]
- Uses fixed \(\alpha\) values for FF (\(\alpha_{FF}\)) and BB (\(\alpha_{BB}\)) to segregate the light absorption component
- Two component based apportionment : Fossil Fuel (FF) and Biomass
Burning (BB) \[ b_{abs}(\lambda) =
b_{abs,FF}(\lambda) + b_{abs,BB}(\lambda) \]
Equations
Source Apportionment Equations
This Study
Campaign Photos
Pollution Monitoring in Indian Villages
- Rural Household emissions were characterized
- RAMP (non-calibrated PM2.5 and CO) and MA300 devices were used
- MA300
- Micro-aethalometer: light weight and portable.
- 5 wavelength measurement: 370, 470, 528, 625, 880
- Sampling Flow Rate: 150 mL/min
- Data Collection Frequency: 5 min
- 3 X MA300 were deployed in two villages for indoor and outdoor monitoring.
- Participant Survey conducted for fuel usage, cooking practices
- Participant’s Building structures were mapped
Moniroting Station
Location Details
| Location | AQ_Type | Lat | Long |
|---|---|---|---|
| Vill_1 | RAMP | 26.5318 | 80.38050 |
| Vill_2 | RAMP | 26.5251 | 80.41490 |
| KNP | CPCB | 26.4499 | 80.33190 |
| LKO_Sch | CPCB | 26.7785 | 80.93130 |
| LKO_Ind | CPCB | 26.8332 | 80.89660 |
| Hamirpur | IGPCARE | 25.8154 | 79.91875 |
Stations in Map (Not included)
Household and Village Details
- We considered one household from each village.
- These two households were set up for indoor monitoring in addition to outdoor monitoring in the village center.
Building Structure
Household Structure
Survey Results
| Parameter | Village1_HH | Village2_HH |
|---|---|---|
| Population | A2C0 | A5C2 |
| Prim CookFuel | Dung Cake | Dunc Cake |
| Sec CookFuel | Kerosene/Firewood | Diesel |
| Kitchen Type | Indoor | Outdoor Enclosed Kitchen |
| LPG Conn | Yes | Yes |
| No. Meals | 2 | 2 |
AQ Data
Several data sets were utilized in this study.
- Rural Monitoring
- Temporal Frequency: 5 min
- Bhawani Kheda (Village 1) and Naikani Kheda (Village 2)
- Household Indoor Air Quality
- Village Outdoor Air Quality
- Pollutants: (Raw data considered)
- RAMP: PM2.5, CO, Temperature (T), Relative Humidity (RH)
- MA300: BC, BCbb (biomass burning component), BCff (fossil fuel component), AAE (Angstrom Exponent), pctBB (BCbb percentage of total BC)
- Regulatory Monitoring
- LKO_Sch: CPCB monitoring station in Lucknow Central School
- Pollutants: PM2.5, CO, Temperature (AT), Relative Humidity (RH), NO, NOx, Ozone
- Temporal Frequency: 15 min
- Distance from Rural Monitoring: 59 km
- LKO_Ind: CPCB monitoring station in Talkatora Industrial Belt
- Pollutants: PM2.5, CO, Temperature (AT), Relative Humidity (RH), NO, NOx, NO2, SO2
- Temporal Frequency: 15 min
- Distance from Rural Monitoring: 59 km
- KNP: CPCB monitoring station in Kanpur Neheru Nagar
- Pollutants: PM2.5, Temperature (AT), Relative Humidity (RH), NO, NOx, Ozone
- Temporal Frequency: 1 hour
- Distance from Rural Monitoring: 12 km
- IGPCARE: Long term monitoring station in a rural site in a nearby
district
- Data not available publicly
- Pollutants: BC, BrC (Brown Carbon), O3, PM2.5
- Rural regulatory monitoring site
- operated by University of Gothenburg (Dr. Ravi Kant Pathak)
- Distance from Present Rural Monitoring: 93 km
- Note: Useful for comparing trends in rural BC pollution (MA300 vs AE)
- Related Publication: https://pubs.rsc.org/en/content/articlehtml/2022/ea/d1ea00083g
- Number of data points measured in Village
| House | n | positive | negative |
|---|---|---|---|
| Village1_Outdoor | 2021 | 100 | 0 |
| Village1_Indoor | 1934 | 100 | 0 |
| Village2_Outdoor | 3753 | 100 | 0 |
| Village2_Indoor | 3223 | 100 | 0 |
Pollutant Summary Statisics
Here I am focusing on the combustion generated pollutants, i.e. PM2.5, BC and CO. The mean concentration and coefficient of variation (standard deviation/mean) have been calculated and presented for indoor and outdoor in village 1 and 2.| House | meanPM2.5 | covPM2.5 | meanBC | covBC | meanCO | covCO |
|---|---|---|---|---|---|---|
| Village1_Outdoor | 61.37 | 0.50 | 16.45 | 0.52 | 823.16 | 0.44 |
| Village1_Indoor | 64.20 | 0.44 | 16.32 | 0.41 | 1229.07 | 1.25 |
| Village2_Outdoor | 59.75 | 0.51 | 14.80 | 0.51 | 965.15 | 0.37 |
| Village2_Indoor | 63.43 | 0.71 | 14.12 | 0.51 | 1690.40 | 1.10 |
## # A tibble: 12 × 5
## House variable n mean sd
## <fct> <fct> <dbl> <dbl> <dbl>
## 1 Village1_Outdoor BC 2021 16.4 8.59
## 2 Village1_Indoor BC 1934 16.3 6.71
## 3 Village2_Outdoor BC 3753 14.8 7.58
## 4 Village2_Indoor BC 3223 14.1 7.23
## 5 Village1_Outdoor PM2.5 2021 61.4 30.8
## 6 Village1_Indoor PM2.5 1428 64.2 28.2
## 7 Village2_Outdoor PM2.5 3139 59.8 30.6
## 8 Village2_Indoor PM2.5 2036 63.4 44.9
## 9 Village1_Outdoor CO 2021 823. 360.
## 10 Village1_Indoor CO 1428 1229. 1531.
## 11 Village2_Outdoor CO 3139 965. 354.
## 12 Village2_Indoor CO 2036 1690. 1863.
Note: PM2.5 and BC are in \(\mu g/m^3\); CO in ppb
Summary stat does not reflect difference - proposed Hypothesis generating:
Range and variability in household - ventilation
BC is local not PM2.5 - we are more confident
Analysis of BC concentration
Making a new data set for analysis
HH_4 = HH_3 %>%
separate(House, into = c("Village","Position"), sep = "_", remove = FALSE) %>%
select(House,Village, Position, date, dDate, hour, PM2.5, BC, BCbb, BCff, AAE_Blue_IR, DayType, DayPart, activity)Days of Sampling
HH_4 %>% group_by(Village,activity) %>%
summarise(n = n_distinct(dDate))## `summarise()` has grouped output by 'Village'. You can override using the
## `.groups` argument.
## # A tibble: 6 × 3
## # Groups: Village [2]
## Village activity n
## <chr> <fct> <int>
## 1 Village1 MrngCook 16
## 2 Village1 EvngCook 17
## 3 Village1 NoCook 21
## 4 Village2 MrngCook 20
## 5 Village2 EvngCook 21
## 6 Village2 NoCook 26
Indoor to Indoor Correlation
Indoor to Outdoor Correlation
Outdoor to Outdoor Correlations
All correaltion
hourlyBC = HH_4 %>% select(House, hour, activity, BC) %>%
group_by(hour, House, activity)%>%
summarise(meanBC = mean(BC, na.rm=TRUE)) %>%
pivot_wider(names_from = "House", values_from = "meanBC")## `summarise()` has grouped output by 'hour', 'House'. You can override using the
## `.groups` argument.
my_cols <- c("#00AFBB", "#E7B800", "#FC4E07")
pairs(hourlyBC[,3:6], pch = 19, cex = 0.5,
col = my_cols[hourlyBC$activity],
lower.panel=NULL)pairs.panels(hourlyBC[,3:6],
method = "pearson", # correlation method
hist.col = "#00AFBB",
density = TRUE, # show density plots
ellipses = TRUE # show correlation ellipses
)HH_4 %>% group_by(Village, Position, hour) %>%
select(hour, Village, Position, BC, activity) %>%
mutate(row = row_number()) %>%
pivot_wider(names_from = "Position", values_from = "BC") %>%
mutate(IO_BC = Indoor/Outdoor) %>%
group_by(hour, Village, activity) %>%
summarise(meanIO = mean(IO_BC, na.rm=TRUE)) %>%
ggplot(.,aes(x = hour, y = meanIO, group = Village, color = Village))+
geom_point()## `summarise()` has grouped output by 'hour', 'Village'. You can override using
## the `.groups` argument.
HH_4 %>% group_by(Village, Position, hour) %>%
get_summary_stats(c(BC,BCbb, BCff), type = "mean_sd") %>%
ggplot(.,aes(x = hour, y = mean, fill= variable))+
geom_area()+
facet_grid(Village~Position)HH_4 %>% group_by(Village, Position, hour) %>%
get_summary_stats(c(BC,BCbb, BCff, PM2.5), type = "mean_sd") %>%
mutate(row = row_number()) %>%
pivot_wider(names_from = "Position", values_from = c("mean","sd"))%>%
ggplot(.,aes(x = hour, y = mean_Indoor, group = Village, color = Village))+
geom_point()+
facet_wrap(~variable, ncol = 1, scales = "free_y")## Warning: Removed 192 rows containing missing values (`geom_point()`).
Statistical Analysis
Concentration During Cooking Period
HH_4 %>%
timeVariation(.,pollutant = "BC", group = "Position")HH_3 %>%
group_by(House) %>%
summarise(minBC = min(BC),
maxBC = max(BC),
avgBC = mean(BC),
sdBC = sd(BC))## # A tibble: 4 × 5
## House minBC maxBC avgBC sdBC
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 Village1_Outdoor 0.824 38.2 16.4 8.59
## 2 Village1_Indoor 5.44 38.2 16.3 6.71
## 3 Village2_Outdoor 0.801 38.2 14.8 7.58
## 4 Village2_Indoor 3.58 38.2 14.1 7.23
HH_3 %>%
ggplot(.,aes(x = BC))+
geom_density()+
facet_grid(House~activity)HH_3 %>%
ggplot(.,aes(x = date, y = BC))+
geom_point()HH_3 %>%
filter(BC<1) %>%
ggplot(.,aes(x = BC))+
geom_histogram()+
facet_grid(House~DayPart)## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
HH_3 %>% filter(BC>0.2) %>%
ggplot(.,aes(y = House, x = BC))+
geom_boxplot()+
facet_grid(~activity)HH_3 %>% filter(BC>0.3) %>%
group_by(House) %>%
summarise(n = n(),
day = n_distinct(dDate))## # A tibble: 4 × 3
## House n day
## <fct> <int> <int>
## 1 Village1_Outdoor 2021 11
## 2 Village1_Indoor 1934 12
## 3 Village2_Outdoor 3753 18
## 4 Village2_Indoor 3223 20
HH_3 %>% filter(BC<0.4) %>%
ggplot(.,aes(x = date, y = T))+
geom_point()HH_3 %>% filter(BC>0.4) %>%
select(hour, activity, House, BC) %>%
mutate(row = row_number()) %>%
separate(House, into = c("Village","Position"), sep = "_") %>%
pivot_wider(names_from = "Position", values_from = "BC") %>%
group_by(Village, hour, activity) %>%
summarise(meanIN = mean(Indoor, na.rm=TRUE),
meanOUT = mean(Outdoor, na.rm=TRUE)) %>%
ggplot(.,aes(x = meanIN, y = meanOUT, group = Village, color = activity))+
geom_point()+
facet_grid(~Village)## `summarise()` has grouped output by 'Village', 'hour'. You can override using
## the `.groups` argument.
BC Concentration Timeline
Notes: * Challenges identified for in-situ measurement as BC concentration can go high * Data Filtered: - Bad data points: instrument choked due to severe concentration levels - IQR Criteria utilized for Outlier removal (1.5 times Q1 and Q3) * Concurrent measurements were limited
Diurnal Concentration Profile of BC
Notes: * 5 min BC -> Hourly average * Effect of emission - Cooking source during morning and evening period enhanced pollutant concentration - Post cooking decay of pollutant * Effect of Atmosphere - PBL height reduced BC concentration
BC concentration by activity period
| activity | meanBC | meanBCbb | meanBCff | pctChBC | pctChBCbb | pctChBCff |
|---|---|---|---|---|---|---|
| MrngCook | 18.04 | 16.99 | 1.05 | 35.44 | 35.44 | 35.44 |
| EvngCook | 20.51 | 19.31 | 1.20 | 53.97 | 53.97 | 53.97 |
Notes: * percentage change in all BC components are same!
BC Apportionment Results
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Notes: * BB distribution remains almost similar centering 94.16%
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Notes: * No visible change in BB/FF separation during parts of day
AAE
Notes: * Negative AAE values observed
Indoor - Outdoor
## `summarise()` has grouped output by 'activity'. You can override using the
## `.groups` argument.
| activity | AAE_Indoor | AAE_Outdoor | AAE_pctCh | BC_pctCh | BCbb_pctCh |
|---|---|---|---|---|---|
| MrngCook | 1.67 | 1.52 | 10.19 | 9.95 | 9.95 |
| EvngCook | 1.64 | 1.54 | 6.30 | 9.93 | 9.93 |
| NoCook | 1.43 | 1.41 | 1.51 | -6.20 | -6.20 |
Notes: * BC concentration during morning cooking increased by 12% (highest observed) * During NoCook period BC concentration lowered by 4.6% than the outdoor -> infiltration process * AAE increased by 10.34% during Morning Cooking session -> Use of SBF can be confirmed * Percentage change in BCbb was not dominant - issue with SA fraction.
BC concentration by Location~Activity
BC concentration by DayPart~Activity
## Source Apportionment Results
BCbb by Location~Activity
### BCff by DayPart~Activity
HH_3 %>% ggplot(.,aes(x = DayPart, y = BCff, fill = House))+
geom_boxplot(position=position_dodge(0.8))+
theme_pubr()Other Pollutants
Diurnal Variation
Diurnal PM2.5
Diurnal CO
Diurnal BC
Reference measurement vs RAMP data
Spatial Data
Map of Population Density
Map of Simulated BC by Verma 2022
Reference
Getting raster data: https://dummydatascientist.wordpress.com/2017/03/24/visualization-for-district-level-geospatial-data-in-r-india-census-2001/